package edu.polsl.bio.str.common.entity;

import edu.polsl.bio.str.common.constant.Strand;

import javax.persistence.*;

/**
 * //todo class description
 * <p/>
 * Created on: Jun 13, 2011 6:22:00 PM <br/>
 * <a href="http://www.polsl.pl">www.polsl.pl</a>
 *
 * @author lukasz.olczak@polsl.pl
 */
@Entity
@Table(name = "dot_plots")
public class DotPlot extends BaseEntity {

  private Long refId;

  private Long queryId;

  private Long refChromosomeId;

  private Long queryChromosomeId;

  private String motif;

  private Integer motifLength;

  private Integer refStart;

  private Integer refEnd;

  private Integer refNoRepeats;

  private Long refStrId;

  private Integer queryStart;

  private Integer queryEnd;

  private Integer queryNoRepeats;

  private Long queryStrId;

  private Strand queryStrand;

  @Column(name = "query_chromosome_id")
  public Long getQueryChromosomeId() {
    return queryChromosomeId;
  }

  public void setQueryChromosomeId(Long queryChromosomeId) {
    this.queryChromosomeId = queryChromosomeId;
  }

  @Column(name = "query_id")
  public Long getQueryId() {
    return queryId;
  }

  public void setQueryId(Long queryId) {
    this.queryId = queryId;
  }

  @Column(name = "ref_chromosome_id")
  public Long getRefChromosomeId() {
    return refChromosomeId;
  }

  public void setRefChromosomeId(Long refChromosomeId) {
    this.refChromosomeId = refChromosomeId;
  }

  @Column(name = "ref_id")
  public Long getRefId() {
    return refId;
  }

  public void setRefId(Long refId) {
    this.refId = refId;
  }


  public String getMotif() {
    return motif;
  }

  public void setMotif(String motif) {
    this.motif = motif;
  }

  @Column(name = "motif_length")
  public Integer getMotifLength() {
    return motifLength;
  }

  public void setMotifLength(Integer motifLength) {
    this.motifLength = motifLength;
  }

  @Column(name = "ref_start")
  public Integer getRefStart() {
    return refStart;
  }

  public void setRefStart(Integer refStart) {
    this.refStart = refStart;
  }

  @Column(name = "ref_end")
  public Integer getRefEnd() {
    return refEnd;
  }

  public void setRefEnd(Integer refEnd) {
    this.refEnd = refEnd;
  }

  @Column(name = "ref_no_repeats")
  public Integer getRefNoRepeats() {
    return refNoRepeats;
  }

  public void setRefNoRepeats(Integer refNoRepeats) {
    this.refNoRepeats = refNoRepeats;
  }

  @Column(name = "ref_str_id")
  public Long getRefStrId() {
    return refStrId;
  }

  public void setRefStrId(Long refStrId) {
    this.refStrId = refStrId;
  }

  @Column(name = "query_start")
  public Integer getQueryStart() {
    return queryStart;
  }

  public void setQueryStart(Integer queryStart) {
    this.queryStart = queryStart;
  }

  @Column(name = "query_end")
  public Integer getQueryEnd() {
    return queryEnd;
  }

  public void setQueryEnd(Integer queryEnd) {
    this.queryEnd = queryEnd;
  }

  @Column(name = "query_no_repeats")
  public Integer getQueryNoRepeats() {
    return queryNoRepeats;
  }

  public void setQueryNoRepeats(Integer queryNoRepeats) {
    this.queryNoRepeats = queryNoRepeats;
  }

  @Column(name = "query_str_id")
  public Long getQueryStrId() {
    return queryStrId;
  }

  public void setQueryStrId(Long queryStrId) {
    this.queryStrId = queryStrId;
  }

  @Enumerated(EnumType.STRING)
  @Column(name = "query_strand", nullable = false)
  public Strand getQueryStrand() {
    return queryStrand;
  }

  public void setQueryStrand(Strand queryStrand) {
    this.queryStrand = queryStrand;
  }
}
